package com.woniu.repaircenter.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.woniu.repaircenter.models.dto.RepairDTO;
import com.woniu.repaircenter.models.dto.RepairListDTO;
import com.woniu.repaircenter.models.form.UpdateDispatchRepairForm;
import com.woniu.repaircenter.models.param.*;
import com.woniu.repaircenter.service.model.Repair;

/**
 * <p>
 * 维修记录表 服务类
 * </p>
 *
 * @author 吕雨泽
 * @since 2024年12月06日
 */
public interface RepairService extends IService<Repair> {

    Integer addRepair(AddRepairParam addRepairParam, String userId)throws Exception;

    PageInfo<RepairListDTO> selectRepairList(SelectRepairParam selectRepairParam)throws Exception;

    RepairDTO selectRepairById(Long repairId, String repairNum)throws Exception;

    Integer deleteRepair(String repairNum, String userId, String userName)throws Exception;

    Integer dispatchRepair(UpdateDispatchRepairParam udrf, String adminName)throws Exception;

    Integer underwayRepair(String repairNum, String userName)throws Exception;

    Integer finishRepair(UpdateFinishRepairParam repairNum, String userName)throws Exception;

    Integer rejectRepair(UpdateRejectRepairParam bean, String adminName)throws Exception;

    Integer cancelRepair(UpdateRejectRepairParam bean, String userName)throws Exception;

    PageInfo<RepairListDTO> selectRepairByWorker(SelectRepairWorkerParam bean, String userId)throws Exception;

    PageInfo<RepairListDTO> selectRepairByUserId(SelectRepairUserParam bean,String userId)throws Exception;
}
